package com.lingxinst.farm.app.ui

import android.annotation.SuppressLint
import android.os.Bundle
import com.lingxinst.farm.app.entity.IndexEntity
import com.lynn.common.dialog.PrivacyDialog
import com.lynn.common.dialog.showPrivacyDialog
import com.lynn.common.net.HttpUtils
import com.lynn.common.net.observer.EntityObserver
import com.lynn.common.utils.ActivityUtil
import com.lynn.common.utils.spf.LocalCacheUtil
import com.lingxinst.farm.base.ui.BaseActivity

/**
 * @description: 启动页
 *      1、检查是否登录：
 *             1.1、未登录：显示隐私弹框提示
 *                 1.1.1 同意：执行 是否首次使用 逻辑
 *                 1.1.2 拒绝：退出应用
 *             1.2、已登录：执行 是否首次使用 逻辑
 *     2、是否首次使用：
 *       2.1、是：显示引导页
 *       2.2、否：跳转首页
 * @author: bailing
 * @datetime: 2025/6/1 16:50
 **/
@SuppressLint("CustomSplashScreen")
class SplashActivity : BaseActivity() {

    private val firstStart by lazy { LocalCacheUtil.firstStart }

    override fun initTag(): String {
        return this.javaClass.simpleName
    }

    override fun initUIView(savedInstanceState: Bundle?) {
        when (true) {
            true -> queryBannerList()
            else -> showPrivacyDialog(this, object : PrivacyDialog.OnClickListener {
                override fun onClickPrivacy() {

                }

                override fun onClickUserProtocol() {

                }

                override fun onSure() {
                    queryBannerList()
                }

                override fun onCancel() {
                    // 退出应用
                    ActivityUtil.exitApp()
                }

            })
        }
    }


    @SuppressLint("CheckResult")
    private fun queryBannerList() {
        // 2025/6/1 查询banner列表
        val paramMap = mutableMapOf("isIos" to "2")
        val composer = HttpUtils.applySchedulers(object : EntityObserver<IndexEntity>() {
            override fun getDataClass(): Class<IndexEntity> {
                return IndexEntity::class.java
            }


            override fun onSuccess(t: IndexEntity) {
                jumpNext(t)
            }

            override fun onFinish() {

            }

        })

//        LoginRepository(composer, paramMap).querySplashBannerList()

    }

    private fun jumpNext(indexEntity: IndexEntity) {
        when (firstStart) {
            true -> {
                // 跳转引导页
//                PageUtils.jumpGuide(this, indexEntity)
            }

            else -> {
                // 跳转首页
//                PageUtils.jumpMain(this, indexEntity.appVersion)
            }
        }
    }

    override fun onDestroy() {
        LocalCacheUtil.firstStart = false
        super.onDestroy()
    }


}